package com.atguigu.gmall.activity.service;

import com.atguigu.gmall.activity.pojo.UserRecode;

/***
 * 秒杀下单的service层接口
 */
public interface SeckillOrderService {

    /**
     * 添加订单（排队异步下单操作）
     * @param dateTime
     * @param seckillGoodsId
     * @param num
     * @return
     */
    UserRecode addSeckillOrder(String dateTime, String seckillGoodsId, Integer num);

    /**
     * 获取用户排队信息
     * @return
     */
    UserRecode getUserRecode();

    /**
     * 秒杀真实下单
     * @param userRecodeJsonString
     */
    void realAddSeckillOrder(String userRecodeJsonString);

    /**
     * 取消正常订单 / 取消超时订单
     * @param username
     */
    void cancelOrder(String username);

    /**
     * 订单支付成功，修改订单状态
     * @param payNotifyResultJsonString
     */
    void updateSeckillOrder(String payNotifyResultJsonString);

}
